﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Helper;
using SIMCIntegratedReports;
using Telerik.Reporting;
using System.Globalization;

public partial class pVisorIntegrado : System.Web.UI.Page
{
    private CultureInfo myCulture = new CultureInfo("es-VE");

    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["nombreReporte"] != null)            
        {
            try
            {
                string nombreReporte = Request.QueryString["nombreReporte"].ToString();

                string portafolio = Request.QueryString["PortafolioID"].ToString();
                string fechaCorte = Convert.ToDateTime(Request.QueryString["Fecha"].ToString(), myCulture).ToShortDateString();


                switch (nombreReporte)
                {
                    case "ResumenPortafolio":
                        {
                            CrearReporteRsumenPortafolio(portafolio, fechaCorte);
                        }; break;
                    case "DetallePortafolio":
                        {

                        }; break;
                    case "DetallePortafolioActivoOPasivo":
                        {
                            CrearReporteDetallePortafolioActivoPasivo(portafolio, fechaCorte);
                        }; break;
                    case "PortafolioCruzado":
                        {

                        }; break;
                    case "AportesYRetiros":
                        {
                            string fechaInicial = Convert.ToDateTime(Request.QueryString["FechaInicial"].ToString(), myCulture).ToShortDateString();
                            CrearReporteAportesYRetiros(portafolio, fechaCorte, fechaInicial);
                        }; break;

                    case "Movimientos":
                        {
                            string fechaInicial = Convert.ToDateTime(Request.QueryString["FechaInicial"].ToString(), myCulture).ToShortDateString();
                            string IdCuenta = Request.QueryString["CuentaId"].ToString(); ;
                            string IdTitular = Request.QueryString["TitularId"].ToString(); ;
                            CrearReporteMovimientos(IdCuenta,fechaInicial,fechaCorte,IdTitular);
                            
                        }; break;

                    //case "AportesYRetiros":
                    //    {
                    //        CrearReporteRendimientoPortafolio(portafolio, fechaCorte);

                    //    }; break;

                    case "Consolidado": 
                        {
                            string fechaInicial = Convert.ToDateTime(Request.QueryString["FechaInicial"].ToString(), myCulture).ToShortDateString();

                            Telerik.Reporting.ReportBook book = new Telerik.Reporting.ReportBook();

                            rptPortafolioGrafico reporte = new rptPortafolioGrafico();

                            rptRendimiento reporteRendimiento = new rptRendimiento();

                            rptDetPortafolioAP reporteActivoPasivo = new rptDetPortafolioAP();

                            rptAportyRet reporteAporteRetiro = new rptAportyRet();

                            book.Reports.Add(reporte);

                            book.Reports.Add(reporteRendimiento);

                            book.Reports.Add(reporteActivoPasivo);

                            book.Reports.Add(reporteAporteRetiro);

                            book.Reports[0].ReportParameters["portafolio"].Value = portafolio;
                            book.Reports[0].ReportParameters["fecha"].Value = fechaCorte;

                            book.Reports[1].ReportParameters["Portafolio"].Value = portafolio;
                            book.Reports[1].ReportParameters["FechaCorte"].Value = fechaCorte;

                            book.Reports[2].ReportParameters["Portafolio"].Value = portafolio;
                            book.Reports[2].ReportParameters["Fecha"].Value = fechaCorte;

                            book.Reports[3].ReportParameters["Portafolio"].Value = portafolio;
                            book.Reports[3].ReportParameters["FechaIni"].Value = fechaInicial;
                            book.Reports[3].ReportParameters["FechaFin"].Value = fechaCorte;                           

                            rptViewerInt.Report = book;
                        
                        }; break;
                }
            }
            catch (Exception ex)
            {                
                throw;
            }
            
        }
    }

    private void CrearReporteRendimientoPortafolio(string portafolio, string fechaCorte)
    {
        rptRendimiento reporte = new rptRendimiento();
        reporte.ReportParameters[0].Value = portafolio;
        reporte.ReportParameters[1].Value = fechaCorte;
        rptViewerInt.Report = reporte;
        rptViewerInt.RefreshReport();
    }

    private void CrearReporteAportesYRetiros(string portafolio, string fechaCorte, string fechaInicial)
    {
        rptAportyRet reporte = new rptAportyRet();
        reporte.ReportParameters[0].Value = portafolio;
        reporte.ReportParameters[1].Value = fechaInicial;
        reporte.ReportParameters[2].Value = fechaCorte;
        rptViewerInt.Report = reporte;
        rptViewerInt.RefreshReport();
    }

    private void CrearReporteDetallePortafolioActivoPasivo(string portafolio, string fechaCorte)
    {
        rptDetPortafolioAP reporte = new rptDetPortafolioAP();
        reporte.ReportParameters[0].Value = portafolio;
        reporte.ReportParameters[1].Value = fechaCorte;
        rptViewerInt.Report = reporte;
        rptViewerInt.RefreshReport();
    }

    private void CrearReporteRsumenPortafolio(string portafolio, string fechaCorte)
    {
        rptPortafolioGrafico reporte = new rptPortafolioGrafico();
        reporte.ReportParameters[0].Value = portafolio;
        reporte.ReportParameters[1].Value = fechaCorte;
        rptViewerInt.Report = reporte;
        rptViewerInt.RefreshReport();
    }

    private void CrearReporteMovimientos(string Idcuenta, string fechaInicial, string fechaCorte, string Idtitular)
    {
        rptMovimientoCuenta reporte = new rptMovimientoCuenta();
        reporte.ReportParameters[0].Value = Idcuenta ;
        reporte.ReportParameters[1].Value = fechaInicial;
        reporte.ReportParameters[2].Value = fechaCorte;
        reporte.ReportParameters[3].Value = Idtitular;
        rptViewerInt.Report = reporte;
        rptViewerInt.RefreshReport();

    }



    
}